package cn.xd.core.mapper;

import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Collection;

/**
 * @author mirzaLin
 * @data 2023/11/14
 * @description 基础mapper
 **/
@Mapper
public interface BasicMapper<T> extends MppBaseMapper<T> {
    /**
     * description:批量新增，一条sql插入所有的sql语句
     *
     * @param batchList 新增数据的集合对象
     * @return 新增的执行条数（正常情况下 >= 1）
     */
    int insertAllBatch(@Param("list") Collection<T> batchList);

    /**
     * 按id全部更新，包括null值
     *
     * @param t
     * @return
     */
    int updateByIdNotSelective(@Param(Constants.ENTITY) T t);
}
